package com.hp.ongoing.persistence.util;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import com.hp.ongoing.entity.ContratoVO;
import com.hp.ongoing.entity.QuantidadePeriodo;
import com.hp.ongoing.persistence.exception.DataBaseAcessException;
import com.hp.ongoing.util.StringUtil;

public final class DataRepositoryConverter {

	
	public static List convertResultSetToListEntity(ResultSet rs, Class clazz) throws DataBaseAcessException, SQLException{
		List list = null;
		if (clazz == QuantidadePeriodo.class){
			//list = convertQuantidadePeriodo(rs);
			list = converterContratos(rs);
		}
		return list;
	}
	
	
	public static List converterContratos(ResultSet rs) throws SQLException {
		List<ContratoVO> qtdes = new ArrayList<ContratoVO>();
		ContratoVO contrato = null;
		while (rs.next()) {
			contrato = new ContratoVO();			
			contrato.setNumContrato(rs.getString("CONTRATO"));
			contrato.setIdDiaVcto(rs.getString("DIA_VCTO"));
			contrato.setIdMacroSegmento(rs.getString("MACRO_SEGMENTO"));
			contrato.setIdTipoCobranca(StringUtil.capitalizarPrimeiraLetra(rs.getString("TIPO_COBRANCA")));
			qtdes.add(contrato);
		}		
		return qtdes;
	}

	private static List convertQuantidadePeriodo(ResultSet rs) throws SQLException {
		List<QuantidadePeriodo> qtdes = new ArrayList<QuantidadePeriodo>();
		QuantidadePeriodo qtdPeriodo = null;
		while (rs.next()) {
			qtdPeriodo = new QuantidadePeriodo();			
			qtdPeriodo.setDataReferencia(rs.getDate("PERIODO"));
			qtdPeriodo.setQuantidadeRecibos(rs.getInt("QUANTIDADE_RECIBOS"));
			qtdes.add(qtdPeriodo);
		}		
		return qtdes;
	}
	
	
	

	public static Object convertResultSetToEntity(ResultSet rs, Class clazz) throws DataBaseAcessException, SQLException{
		List list = null;
		
		return list;
	}

	
}
